package at.ltasat.classifier;

public abstract class Trainer<O, D> extends ClassificationAlgorithm<O, D> {
	protected Trainer(String name, ClazzManager<D> classManager, ObjectFeaturesFactory<O> factory) {
		super(name, classManager, factory);
	}

	public void train(O object, Membership<D>... memberships) {
		train(getObjectFeatures(object), memberships);
	}

	public abstract void train(ObjectFeatures features, Membership<D>... memberships);

	public abstract Classifier<O, D> create();
}
